package stocc.subject;

import java.util.ArrayList;
import java.util.List;

import stocc.subject.settings.ConversionSettings;

/**
 * Represents a subjects view of an object
 *
 */
public class View {
	/**
	 * A list of member variables of the object
	 */
	List<Member> members;
	
	/**
	 * A list of methods of the object
	 */
	List<Method> methods;

	/**
	 * A list of imports the object relies on
	 */
	List<String> imports;

	String pack;
	String name;
	Visibility visibility;
	
	ConversionSettings settings;
	
	
	public View(){
		imports = new ArrayList<String>();
		members = new ArrayList<Member>();
		methods = new ArrayList<Method>();
	}
	public void addImport(String imp){
		imports.add(imp);
	}
	public void addMember(Member member){
		members.add(member);
	}
	
	public void addMethod(Method method){
		methods.add(method);
	}

	public List<Member> getMembers() {
		return members;
	}

	public List<Method> getMethods() {
		return methods;
	}
	public void setPackage(String pack){
		this.pack = pack;
	}
	public String getPackage(){
		return this.pack;
	}
	public void setName(String name){
		this.name = name;
	}
	public String getName() {
		return this.name;
	}

	public Visibility getVisibility() {
		return visibility;
	}

	public void setVisibility(Visibility visibility) {
		this.visibility = visibility;
	}

	public ConversionSettings getSettings() {
		return settings;
	}

	public void setSettings(ConversionSettings settings) {
		this.settings = settings;
	}

	public List<String> getImports() {
		return imports;
	}

	public void setImports(List<String> imports) {
		this.imports = imports;
	}
	
	
}
